Objects hide their data behind abstractions and expose functions that operate on that data. Data structures expose their data and have no meaningful functions.
-- uncle bob
On veut avoir un paquet de méthodes toutes lié entre elles qui gère les mêmes données.
Date¶let date = new Date();
^ ^ ^
3 1 2
let date = new Date();
date.setFullYear(2024);
console.log("L'époch time dans 1 an sera exactement " + date.getTime() + " ms");
Ici, l'instance date "cache" plein de choses
Une classe représente donc une catégorie d'objets. Elle apparaît aussi comme un moule ou une usine à partir de laquelle il est possible de créer des objets ; c'est en quelque sorte une « boîte à outils » qui permet de fabriquer un objet. On parle alors d'un objet en tant qu'instance d'une classe (création d'un objet ayant les propriétés de la classe).
-- wikipedia
Une classe, est une ensemble de fonction qu'on veut associer à des données que les fonctions partagent entre elles.
Les fonctions d'une classe sont appelées méthodes. Les données de la classes sont nommées attributs.
c'est deux équipes qui jouent l'une contre l'autre et qui "compte" dans le but de leurs adversaire. L'équipe qui compte le plus de but gagne la partie.
-- un expert de hockey annonyme
import {HockeyGame} from "https://cdn.jsdelivr.net/gh/didiercrunch/cours-420-301-ah@006.1/modules-examples/mod.js";
let hockeyGame = new HockeyGame();
hockeyGame.awayTeamScores();
hockeyGame.homeTeamScores();
hockeyGame.homeTeamScores();
hockeyGame.awayTeamScores();
hockeyGame.homeTeamScores();
console.log(`Le gagnant de la partie est: ${hockeyGame.winner()}`)
Le gagnant de la partie est: home
C'est quelqu'un avec un prénom et un nom de famille qui est né à une date précise
-- un expert de hockey annonyme
import {HockeyPlayer} from "https://cdn.jsdelivr.net/gh/didiercrunch/cours-420-301-ah@006.1/modules-examples/mod.js";
let player = new HockeyPlayer("didier", "amyot", new Date(1983, 9, 9))
console.log(player.currentAge());
40
La méthode constructor est une méthode qui est utilisée pour créer et initialiser un objet lorsqu'on utilise le mot clé class.
let player = new HockeyPlayer("didier", "amyot", new Date(1983, 9, 9))
^ ^ ^
1 2 3
new